<?
	/* Se asegura que el archivo es incluido por el index */
		defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Agenda_invitado_lst( $this );

	class Agenda_invitado_lst extends Lst
	{
	function Agenda_invitado_lst( &$oModule )
		{
			$this->Lst( $oModule );
		}
	function setLevel()
		{
			switch ( $this->getOptionView() )
			{
				case 'L':
					$this->aShowColumns = array( 'Nombre', 'Celular', 'ncConfirmado' );
					break;
			}
		}
	function initialize()
	{
		$this->oFiltro = $this->oModule->loadClass( 'Agenda_invitado_frm' );
		$this->aFields = array_merge ( (array)$this->aFields,  (array)$this->oFiltro->getFieldArray() );
		
		$this->setTitle ( "Participantes" );
		$this->setSummary( "Esta tabla contiene el listado de Participantes" );
		$this->addColumn ( 'Nombre');
		$this->addColumn ( 'Celular', 'cCelular' );
		$this->addColumn ( 'Email' );
		$aMatrix = $this->oDatabase->getKeyArray('SELECT ncConfirmado, cdConfirmado FROM acConfirmado' );
		$this->addColumnUpdateable ( 'ncConfirmado', MODIFICAR_AGENDA_INVITADO, 'ncAgenda,ncPersona', $aMatrix, PARAM_TASK . '=2' );
		$this->setColumnAction ( 'Nombre', VER_PERSONA, 'ncPersona' );
	}
	function makeColumn ( $aRow, $cField )
		{
			switch( $cField )
			{
				case 'Nombre':
					//if ( $aRow['cTratamiento']  ) $cReturn = $aRow['cTratamiento']  . ' ';
					$cReturn .= $aRow['cNombre'] . ' ' . $aRow['cApellido'];
					break;
				case 'Email':
					$cSql = "SELECT cEmail FROM atPersonaEmail WHERE ncPersona = " . $aRow['ncPersona'];
					return implode( ",", $this->oDatabase->getArray($cSql) );
					break;
				default:
					return false;
				break;
			}
			return $cReturn;
		}
	function query()
		{
			// Arma el Query
				$cSql = "SELECT Per.cNombre, Per.cApellido, Per.cCelular, Per.ncPersona
								FROM atAgendaInvitado as APe
								JOIN atPersona as Per
									ON Per.ncPersona = APe.ncPersona";
			// Arma el Filtro de la Consulta
				$this->oWhere->addArray ( $this->oFiltro->getFilterdArray() , 'APe' );
				return $cSql . $this->oWhere->make();
		}
	function makeListActions()
		{
			$cParametroRegistro =  $this->getFieldString();
			$this->addListAction ( AGREGAR_AGENDA_INVITADO, $cParametroRegistro, 'I', VENTANA_SECUNDARIA );
		}
	function makeRowActions( $aRow )
		{
			$cParametroRegistro = "ncAgenda=" . $aRow["ncAgenda"] . '&amp;' .  "ncPersona=" . $aRow["ncPersona"];
			$this->addRowAction ( MODIFICAR_AGENDA_INVITADO, $cParametroRegistro, '', VENTANA_SECUNDARIA );
			$this->addRowAction ( ELIMINAR_AGENDA_INVITADO ,  $cParametroRegistro );
		}
	}
?>